One of the biggest problems that gets in the way of automated front-ends or remote message or transaction systems is line noise. One misplaced bit and the whole thing can get out of synch, deranged and homicidally confused.
The "simple" way around this is to add a layer to the communication protocol: use error checking and retransmission to be sure the stream of data bytes has gotten across without errors before presenting it to the
"higher level" portions of the system.
The current popular protocols for this are X.PC and MNP. I expect to implement one of these.